package pres.lnk.learn.designpattern.c_singleton;

/**
 * 单例模式
 * 静态内部类（推荐使用 ★★★★☆）
 * @Author lnk
 * @Date 2018/2/1
 */
public class Singleton5 {
    private static class SingletonHolder{
        private final static Singleton5 INSTANCE = new Singleton5();
    }

    /**
     * 私有化构造函数，防止被构建新的对象
     */
    private Singleton5(){
    }

    /**
     * 获取唯一实例
     * 当前第一次用到内部类SingletonHolder时才回加载实例
     * @return
     */
    public static Singleton5 getInstance(){
        return SingletonHolder.INSTANCE;
    }
}
